<Query Kind="Statements" />

var dbPattern = @"\[\d{8}\]\sOperand = DB (?<dataBlock>\d+)\.(?<typeX>\w{3}) (?<address>\d+|\d+\.\d+) (?<typeY>\w+) (?<TValue>\w+) \d\sSPSTyp = (?<SPSTyp>\w+)\sSize = (?<Size>\d+)\s\[Config\]\saccess = (?<access>\w+)\sinitread = (?<initread>\d+)\sAktZeit = (?<AktZeit>\d+)\sTyp = (?<Typ>\d+)";

var cfgdatacoll = 
	XElement.Load(@"C:\GP7Projects\S441visu\S441\GpMainPj.XML").Descendants("var")
	.Where(elem=>elem.Element("cfgdata").Value.Contains("Operand"))
	//.Select(elem=>elem.Element("cfgdata").Value);
	.Select(elem=> new {
		name = elem.Attribute("name").Value,
		id = elem.Attribute("id").Value,
		//value = elem.Element("cfgdata").Value,
		module = (elem.Element("varuse") != null)
			? elem.Element("varuse").Attribute("module").Value
			: null,
		dataBlock = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["dataBlock"].Value,
		typeX = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["typeX"].Value,
		address = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["address"].Value,
		typeY = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["typeY"].Value,
		TValue = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["TValue"].Value,
		SPSTyp = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["SPSTyp"].Value,
		Size = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["Size"].Value,
		access = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["access"].Value,
		initread = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["initread"].Value,
		AktZeit = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["AktZeit"].Value,
		Typ = Regex.Match(elem.Element("cfgdata").Value, dbPattern).Groups["Typ"].Value
	});
	
cfgdatacoll.Dump();